* Replication Do File for "Gender, Race, and Interruptions at Supreme Court Confirmation Hearings"

* Note - there are three databases associated with the statistical analysis in this article. We have organized the replication materials such that the code below first replicates the models of senator interruptions, then nominee interruptions, then the alternative unit of analysis discussed in the online appendix. Appendix figure 2's and Appendix figure 3's descriptive data and the code for the figure are provided at the end of the file.*

* set scheme *
ssc install schemepack, replace
set scheme white_tableau 

* Interruptions by Senators *
use "...Senator Data.dta"

* Figure 1/Appendix Table 1/Appendix Table 2 *
* male senators only *
regress intrusiveper fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalesen==0, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
* Equality of coefficients tests *
test fnomop=mnomop
test fnomsp=mnomop
test fnomop=fnomsp
* Collinearity Diagnostics *
corr fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if e(sample)
vif

* white senators only * 
regress intrusiveper nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if senofcolor==0, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
* Equality of coefficients tests *
test nocsp=nocop
test nocsp=whiteop
test whiteop=nocop
* Collinearity Diagnostics *
corr nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10  if e(sample)
vif

* Appendix Figure 1 *
graph bar (mean) fintrusiveper mintrusiveper, over(sameparty, relabel(1 "Different Party Nominees" 2 "Same Party Nominees")) yscale(range(0 15)) ylabel(0(5)15) ytitle("Percentage of Intrusive Interruptions by Male Senators") legend(order(1 "`: var label fintrusiveper'" 2 "`: var label mintrusiveper'")position(6) ring(3)) 

graph bar (mean) nocintrusiveper wintrusiveper, over(sameparty, relabel(1 "Different Party Nominees" 2 "Same Party Nominees")) yscale(range(0 15)) ylabel(0(5)15) ytitle("Percentage of Intrusive Interruptions by White Senators") legend(order(1 "`: var label nocintrusiveper'" 2 "`: var label wintrusiveper'")position(6) ring(3))  

* Appendix Table 3 - Excluding Committee Polarization *
* male senators only *
regress intrusiveper fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special if femalesen==0, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white senators only * 
regress intrusiveper nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special if senofcolor==0, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines


* Appendix Table 4 - All Interruptions *
* male senators only *
regress intpercent fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalesen==0, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white senators only * 
regress intpercent nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if senofcolor==0, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 5 - Limited Time Frames *
* male senators only *
regress intrusiveper fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalesen==0 & year>1980, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white senators only * 
regress intrusiveper nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if senofcolor==0 & year>1966, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 6 - Since Television *
* male senators only *
regress intrusiveper fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalesen==0 & year>1980, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white senators only * 
regress intrusiveper nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if senofcolor==0 & year>1980, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 7 - All Senators *
* gender *
regress intrusiveper fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* race * 
regress intrusiveper nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 8 - Shared Gender and Race *
* race *
regress intrusiveper samegendiffpar diffgendersamepar diffgenderpar scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(senid)
esttab, se ar2 label nogaps nolines

* gender *
regress intrusiveper sameracediffpar diffracesamepar diffracepar scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(senid)
esttab, se ar2 label nogaps nolines

* Appendix Table 11 - Tobit *
* male senators only *
tobit intrusiveper fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalesen==0, ll(0) ul(50) vce(cluster senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test fnomop=mnomop
test fnomsp=mnomop
test fnomop=fnomsp

* white senators only * 
tobit intrusiveper nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if senofcolor==0, ll(0) ul(50) vce(cluster senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test nocsp=nocop
test nocsp=whiteop
test whiteop=nocop

* Appendix Table 12 - Fractional Probit *
* male senators only *
fracreg probit intrusiveprop fnomsp fnomop mnomop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalesen==0, vce(cluster senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-1(.1)1) title("Interruptions of Nominees by Male Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test fnomop=mnomop
test fnomsp=mnomop
test fnomop=fnomsp

* white senators only * 
fracreg probit intrusiveprop nocsp nocop whiteop scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if senofcolor==0, vce(cluster senid)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-1(.1)1)  title("Interruptions of Nominees by White Senators") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test nocsp=nocop
test nocsp=whiteop
test whiteop=nocop

* Appendix Figure 4 *
graph bar (mean) ffintrusiveper fmintrusiveper, over(sameparty, relabel(1 "Different Party Nominees" 2 "Same Party Nominees")) yscale(range(0 15)) ylabel(0(5)25) ytitle("Percentage of Intrusive Interruptions by Female Senators") legend(order(1 "`: var label ffintrusiveper'" 2 "`: var label fmintrusiveper'")position(6) ring(3)) 

graph bar (mean) nocintrusiveper swintrusiveper, over(sameparty, relabel(1 "Different Party Nominees" 2 "Same Party Nominees")) yscale(range(0 15)) ylabel(0(5)25) ytitle("Percentage of Intrusive Interruptions by Senators of Color") legend(order(1 "`: var label snocintrusiveper'" 2 "`: var label swintrusiveper'")position(6) ring(3)) 






* Interruptions by Nominees *
use "...Nominee Data.dta" 

* Figure 2/Appendix Table 1/Appendix Table 2 *
* male nominees only *
regress nomintrusiveper femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalenom==0, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
* Equality of coefficients tests *
test femalesendp=malesendp
test malesendp=femalesensp
test femalesendp=femalesensp
* Collinearity Diagnostics *
corr femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if e(sample)
vif

* white nominees only * 
regress nomintrusiveper sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if nomofcolor==0, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
* Equality of coefficients tests *
test wsendp=sofcsp
test sofcdp=wsendp 
test sofcdp=sofcsp
* Collinearity Diagnostics *
corr sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if e(sample)
vif

* Appendix Figure 1 *
graph bar (mean) fintrusiveper mintrusiveper, over(sameparty, relabel(1 "Different Party Senators" 2 "Same Party Senators")) yscale(range(0 15)) ylabel(0(5)15) ytitle("Percentage of Intrusive Interruptions by Male Nominees") legend(order(1 "`: var label fintrusiveper'" 2 "`: var label mintrusiveper'")position(6) ring(3)) 

graph bar (mean) nocintrusiveper wintrusiveper, over(sameparty, relabel(1 "Different Party Senators" 2 "Same Party Senators")) yscale(range(0 15)) ylabel(0(5)15) ytitle("Percentage of Intrusive Interruptions by White Nominees") legend(order(1 "`: var label nocintrusiveper'" 2 "`: var label wintrusiveper'")position(6) ring(3)) 

* Appendix Table 3 - Excluding Committee Polarization *
* male nominees only *
regress nomintrusiveper femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special if femalenom==0, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white nominees only * 
regress nomintrusiveper sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special if nomofcolor==0, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 4 - All Interruptions *
* male nominees only *
regress nomintpercent femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalenom==0, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white nominees only * 
regress nomintpercent sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if nomofcolor==0, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 5 - Limited Time Frames *
* male nominees only *
regress nomintrusiveper femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalenom==0 & year>1980, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-30(5)30) title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white nominees only *
regress nomintrusiveper sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if nomofcolor==0 & year>1966, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 6 - Since Television *
* male nominees only *
regress nomintrusiveper femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalenom==0 & year>1980, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-30(5)30) title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* white nominees only *
regress nomintrusiveper sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if nomofcolor==0 & year>1980, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 7 - All Nominees *
* gender  *
regress nomintrusiveper femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* race * 
regress nomintrusiveper sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-15(5)15) title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines

* Appendix Table 8 - Shared Gender and Race *
* gender *
regress nomintrusiveper samegendiffpar diffgendersamepar diffgenderpar scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(name)
esttab, se ar2 label nogaps nolines

* race *
regress nomintrusiveper sameracediffpar diffracesamepar diffracepar scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10, cluster(name)
esttab, se ar2 label nogaps nolines

* Appendix Table 11 - Tobit *
* male nominees only *
tobit nomintrusiveper femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalenom==0, ll(0) ul(56) vce(cluster name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-50(10)50) title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test femalesendp=malesendp
test malesendp=femalesensp
test femalesendp=femalesensp

* white nominees only * 
tobit nomintrusiveper sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if nomofcolor==0, ll(0) ul(56) vce(cluster name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-20(5)20)  title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test wsendp=sofcsp
test sofcdp=wsendp 
test sofcdp=sofcsp

* Appendix Table 12 - Fractional Probit *
* male nominees only *
fracreg probit nomintrusiveprop femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if femalenom==0, vce(cluster name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-3.5(.5)3.5)  title("Interruptions of Senators by Male Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test femalesendp=malesendp
test malesendp=femalesensp
test femalesendp=femalesensp

* white nominees only * 
fracreg probit nomintrusiveprop sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism chair seniority majority special sjcpolarization10 if nomofcolor==0,  vce(cluster name)
coefplot, drop(_cons) xline(0) levels (95) xlabel(-1.5(.5)1.5) title("Interruptions of Senators by White Nominees") ylabel(,labsize(smallmedium)) xlabel(,labsize(smallmedium))
esttab, se ar2 label nogaps nolines
test wsendp=sofcsp
test sofcdp=wsendp 
test sofcdp=sofcsp

* Appendix Figure 4 *
graph bar (mean) ffintrusiveper fmintrusiveper, over(sameparty, relabel(1 "Different Party Senators" 2 "Same Party Senators")) yscale(range(0 15)) ylabel(0(5)15) ytitle("Percentage of Intrusive Interruptions by Female Nominees") legend(order(1 "`: var label ffintrusiveper'" 2 "`: var label fmintrusiveper'")position(6) ring(3)) 

graph bar (mean) nnocintrusiveper nwintrusiveper, over(sameparty, relabel(1 "Different Party Senators" 2 "Same Party Senators")) yscale(range(0 15)) ylabel(0(5)15) ytitle("Percentage of Intrusive Interruptions by Nominees of Color") legend(order(1 "`: var label nnocintrusiveper'" 2 "`: var label nwintrusiveper'")position(6) ring(3))  






* Alternative Unit of Analysis *
use "...Chunk Unit of Analysis.dta"

* Appendix Table 9 *
* Senators - Gender *
logit allintrusive fnomsp fnomop mnomop scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10  if speak==1, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test fnomop=mnomop
test fnomsp=mnomop
test fnomop=fnomsp

* Senators - Race *
logit allintrusive nocsp nocop whiteop scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10 if speak==1, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test nocsp=nocop
test nocsp=whiteop
test whiteop=nocop

* Nominees - Gender *
logit allintrusive femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10 if speak==2, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test femalesendp=malesendp
test malesendp=femalesensp
test femalesendp=femalesensp

* Nominees - Race *
logit allintrusive sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10 if speak==2, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test wsendp=sofcsp
test sofcdp=wsendp 
test sofcdp=sofcsp

* Appendix Table 10 - Limited Time Frame (1981-2022) *
* Senators - Gender *
logit allintrusive fnomsp fnomop mnomop scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10  if speak==1 & year>1980, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test fnomop=mnomop
test fnomsp=mnomop
test fnomop=fnomsp

* Senators - Race *
logit allintrusive nocsp nocop whiteop scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10 if speak==1 & year>1980, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test nocsp=nocop
test nocsp=whiteop
test whiteop=nocop

* Nominees - Gender *
logit allintrusive femalesensp femalesendp malesendp scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10 if speak==2 & year>1980, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test femalesendp=malesendp
test malesendp=femalesensp
test femalesendp=femalesensp

* Nominees - Race *
logit allintrusive sofcsp sofcdp wsendp scqual judge idreplacement scandal extremism commchair seniority majority special interrupted previouslength speakorder100 sjcpolarization10 if speak==2 & year>1980, cluster(nomsen)
esttab, se ar2 label nogaps nolines
test wsendp=sofcsp
test sofcdp=wsendp 
test sofcdp=sofcsp






* Appendix Figure 2 *
use "...Figure 2 Appendix Data.dta"

twoway (line pocbyyear year, lcolor(gs10) lwidth(medthick)) (scatter nom_graphing_number year if toplabel==., mcolor(black) msize(2-pt) msangle(rhorizontal) msymbol(arrow) mlabel(nominee) mlabcolor(black) mlabsize(vsmall) mlabgap(zero)) (scatter nom_graphing_number year if toplabel==2, mcolor(black) msize(2-pt) msangle(rhorizontal) msymbol(arrow) mlabel(nominee) mlabcolor(black) mlabsize(vsmall) mlabgap(zero) mlabposition(9))  (scatter nom_graphing_number year if toplabel==1, mcolor(black) msize(2-pt) msangle(rhorizontal) msymbol(arrow) mlabel(nominee) mlabcolor(black) mlabsize(vsmall) mlabposition(12) mlabgap(zero)) (line femalebyyear year, lcolor(black) lpattern(dash)), ylabel(0(1)6, angle(horizontal)) xtitle("") xlabel(1939(3)2022, labsize(small) angle(forty_five)) legend(on order(1 "Senators of Color" 5 "Female Senators"))





* Appenedix Figure 3 - note that this figure was created in Excel and that figure appears in the "Figure 3 Appendix Data" Excel file *
use "...Figure 3 Appendix Data.dta"

line length order, xlabel(1 "Frankfurter" 2 "Jackson" 3 "Harlan" 4 "Brennan" 5 "Whittaker" 6 "Stewart" 7 "White" 8 "Goldberg" 9 "FortasAssociate" 10 "Marshall" 11 "FortasChief" 12 "Thornberry" 13 "Burger" 14 "Haynsworth" 15 "Carswell" 16 "Blackmun" 17 "RehnquistAssociate" 18 "Powell" 19 "Stevens" 20 "OConnor" 21 "RehnquistChief" 22 "Scalia" 23 "Bork" 24 "Kennedy" 25 "Souter" 26 "Thomas" 27 "Ginsburg" 28 "Breyer" 29 "Roberts" 30 "Alito" 31 "Sotomayor" 32 "Kagan" 33 "Gorsuch" 34 "Kavanaugh" 35 "Barrett" 36 "BrownJackson",labsize(minuscule)) ylabel(0(50000)250000)

